home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1995-12-27 | 1.9 KB | 48 lines |
- ' HAM image noise reduction.
- ' Written by Chris Hodges (27-Dec-95).
- ' Requires AMOS Pro and the AMCAF extension to run.
- '
- Set Buffer 40
- ' THRESHOLD sets the noise threshold.
- THRESHOLD=13
- Load Iff "dh1:grafik/dpaint/picture/misc/Claudia_Schiffer1.iff",0
- WX=Screen Width
- WY=Screen Height
- SM=Screen Mode
- Screen Open 1,WX,WY,4096,SM
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Get Palette 0 : Colour 0,0
- For Y=0 To WY-1
- Screen 1 : HAM=Colour(0) : Screen 0
- C00=Colour(0) : C10=C00 : C20=C00
- C01=C00 : C11=C01 : C21=C01
- C02=C00 : C12=C02 : C22=C02
- For X=-1 To WX-1
- If Y Then C20= Extension_8_09E8( Extension_8_039E(X+1,Y-1),C20) Else C20=Colour(0)
- C21= Extension_8_09E8( Extension_8_039E(X+1,Y),C21)
- If Y<WY-1 Then C22= Extension_8_09E8( Extension_8_039E(X+1,Y+1),C22) Else C22=Colour(0)
- V00= Extension_8_03B2(C00)+ Extension_8_03C0(C00)+ Extension_8_03D0(C00)
- V10= Extension_8_03B2(C10)+ Extension_8_03C0(C10)+ Extension_8_03D0(C10)
- V20= Extension_8_03B2(C20)+ Extension_8_03C0(C20)+ Extension_8_03D0(C20)
- V01= Extension_8_03B2(C01)+ Extension_8_03C0(C01)+ Extension_8_03D0(C01)
- V11= Extension_8_03B2(C11)+ Extension_8_03C0(C11)+ Extension_8_03D0(C11)
- V21= Extension_8_03B2(C21)+ Extension_8_03C0(C21)+ Extension_8_03D0(C21)
- V02= Extension_8_03B2(C02)+ Extension_8_03C0(C02)+ Extension_8_03D0(C02)
- V12= Extension_8_03B2(C12)+ Extension_8_03C0(C12)+ Extension_8_03D0(C12)
- V22= Extension_8_03B2(C22)+ Extension_8_03C0(C22)+ Extension_8_03D0(C22)
- V=V11*8-Sqr(V00*V00+V10*V10+V20*V20+V01*V01+V21*V21+V02*V02+V12*V12+V22*V22)
- Screen 1
- If V>THRESHOLD
- P= Extension_8_09FC(C11,HAM)
- HAM= Extension_8_09E8(P,HAM)
- Extension_8_0388 X,Y,P
- Else
- HAM= Extension_8_09E8(0,HAM)
- Extension_8_0388 X,Y,0
- End If
- Screen 0
- C00=C10 : C10=C20
- C01=C11 : C11=C21
- C02=C12 : C12=C22
- Next
- Next